1. Field of the Invention
The invention relates to programmable logic devices formed in integrated circuit semiconductor chips. More particularly, the invention relates to verification of logic device programming accuracy.
2. Description of the Related Art
Programmable devices are currently available in several different architectures. One type, Field-Programmable Gate Arrays (FPGAs--sometimes referred to as programmable ASICs), comprise an array of programmable logic cells which can be interconnected by programmable interconnect lines to generate complex logic functions. Several device architectures of FPGAs are available today. The various devices differ in the complexity of a single logic cell. Some manufacturers offer devices having logic cells which are quite small (fine grained architecture). Others offer devices having logic cells which are considerably larger and which handle larger functions within a single logic block (coarse grained architecture). In an FPGA device, it is possible to feed the output of any one logic cell to an input of any other logic cell, and thereby form a chain, generating a function which has multiple levels of logic. However, the efficacy of such a chain, no matter what type of logic cell is used, is directly linked to the accuracy obtained in programming interconnections between logic cells.
Another point of distinction between FPGAs is the re-programmability of the interconnect structure. The structure and content of the interconnect in an FPGA is called its routing architecture. The routing architecture consists of both wire segments and programmable switches. Programmable switches are constructed using several techniques, including: pass-transistors controlled by static RAM cells, anti-fuses, EPROM transistors, and EEPROM transistors. As with logic block designs, there are a number of differing routing architectures. Some FPGAs offer a large number of simple connections between blocks, and others provide fewer but more complex routes. While properties of these technologies differ widely, the programming switches are all configurable to one of two states: ON or OFF.